from selenium.webdriver.common.by import By
from V6_new.base.base_action import BaseAction


# 对登录页面进行封装
class LoginPage(BaseAction):

    # 将所有用到的元素定位抽离出来
    # 登录链接 按钮
    login_link_btn = By.CLASS_NAME, 'red'
    # 用户名 输入框
    username_input = By.ID, "username"
    # 密码 输入框
    password_input = By.ID, "password"
    # 验证码 输入框
    verify_code_input = By.ID, "verify_code"
    # 登录 按钮
    login_btn = By.NAME, "sbtbutton"
    # 提示信息
    msg_info = By.CSS_SELECTOR, '.layui-layer-content'



    # 1.点击首页的“登录"链接，进入登录页面
    def click_login_link(self):
        return self.click(self.login_link_btn)

    # 2.输入一个不存在的用户名
    def input_username(self, username):
        # 输入的2个传参：在哪输入（元素定位）、输入内容
        return self.input(self.username_input, username)

    # 3.输入密码
    def input_password(self, content):
        return self.input(self.password_input, content)

    # 4.输入验证码
    def input_verify_code(self, code):
        return self.input(self.verify_code_input, code)

    # 5.点击登录按钮
    def click_login_btn(self):
        return self.click(self.login_btn)

    # 6.获取错误提示信息
    def get_msg(self):
        return self.find_el(self.msg_info).text


